home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 November / CPNL0711.ISO / boekhoud / finan / BADGER finance v1.0 beta 2.exe / xampplite / phpMyAdmin / db_printview.php < prev    next >
PHP Script  |  2006-04-26  |  8KB  |  264 lines

  1. <?php
  2. /* $Id: db_printview.php,v 2.15.2.1 2006/04/27 09:43:13 cybot_tm Exp $ */
  3. // vim: expandtab sw=4 ts=4 sts=4:
  4.  
  5. require_once './libraries/common.lib.php';
  6.  
  7. /**
  8.  * Gets the variables sent or posted to this script, then displays headers
  9.  */
  10. $print_view = true;
  11. require_once './libraries/header.inc.php';
  12.  
  13. PMA_checkParameters(array('db'));
  14.  
  15. /**
  16.  * Defines the url to return to in case of error in a sql statement
  17.  */
  18. $err_url = 'db_details.php?' . PMA_generate_common_url($db);
  19.  
  20. /**
  21.  * Settings for relations stuff
  22.  */
  23. require_once './libraries/relation.lib.php';
  24. $cfgRelation = PMA_getRelationsParam();
  25.  
  26. /**
  27.  * Gets the list of the table in the current db and informations about these
  28.  * tables if possible
  29.  *
  30.  * @todo merge this speedup _optionaly_ into PMA_DBI_get_tables_full()
  31.  *
  32. // staybyte: speedup view on locked tables - 11 June 2001
  33. // Special speedup for newer MySQL Versions (in 4.0 format changed)
  34. if ($cfg['SkipLockedTables'] == true) {
  35.     $result = PMA_DBI_query('SHOW OPEN TABLES FROM ' . PMA_backquote($db) . ';');
  36.     // Blending out tables in use
  37.     if ($result != false && PMA_DBI_num_rows($result) > 0) {
  38.         while ($tmp = PMA_DBI_fetch_row($result)) {
  39.             // if in use memorize tablename
  40.             if (preg_match('@in_use=[1-9]+@i', $tmp[0])) {
  41.                 $sot_cache[$tmp[0]] = true;
  42.             }
  43.         }
  44.         PMA_DBI_free_result($result);
  45.  
  46.         if (isset($sot_cache)) {
  47.             $result      = PMA_DBI_query('SHOW TABLES FROM ' . PMA_backquote($db) . ';', null, PMA_DBI_QUERY_STORE);
  48.             if ($result != false && PMA_DBI_num_rows($result) > 0) {
  49.                 while ($tmp = PMA_DBI_fetch_row($result)) {
  50.                     if (!isset($sot_cache[$tmp[0]])) {
  51.                         $sts_result  = PMA_DBI_query('SHOW TABLE STATUS FROM ' . PMA_backquote($db) . ' LIKE \'' . addslashes($tmp[0]) . '\';');
  52.                         $sts_tmp     = PMA_DBI_fetch_assoc($sts_result);
  53.                         $tables[]    = $sts_tmp;
  54.                     } else { // table in use
  55.                         $tables[]    = array('Name' => $tmp[0]);
  56.                     }
  57.                 }
  58.                 PMA_DBI_free_result($result);
  59.                 $sot_ready = true;
  60.             }
  61.         }
  62.         unset($tmp, $result);
  63.     }
  64. }
  65.  
  66. if (! isset($sot_ready)) {
  67.     $result      = PMA_DBI_query('SHOW TABLE STATUS FROM ' . PMA_backquote($db) . ';');
  68.     if (PMA_DBI_num_rows($result) > 0) {
  69.         while ($sts_tmp = PMA_DBI_fetch_assoc($result)) {
  70.             $tables[] = $sts_tmp;
  71.         }
  72.         PMA_DBI_free_result($result);
  73.         unset($res);
  74.     }
  75. }
  76.  */
  77.  
  78. /**
  79.  * If there is at least one table, displays the printer friendly view, else
  80.  * an error message
  81.  */
  82. $tables = PMA_DBI_get_tables_full($db);
  83. $num_tables = count($tables);
  84.  
  85. echo '<br />';
  86.  
  87. // 1. No table
  88. if ($num_tables == 0) {
  89.     echo $strNoTablesFound;
  90. }
  91. // 2. Shows table informations on mysql >= 3.23.03 - staybyte - 11 June 2001
  92. else {
  93.     ?>
  94. <table>
  95. <thead>
  96. <tr>
  97.     <th><?php echo $strTable; ?></th>
  98.     <th><?php echo $strRecords; ?></th>
  99.     <th><?php echo $strType; ?></th>
  100.     <?php
  101.     if ($cfg['ShowStats']) {
  102.         echo '<th>' . $strSize . '</th>';
  103.     }
  104.     ?>
  105.     <th><?php echo $strComments; ?></th>
  106. </tr>
  107. </thead>
  108. <tbody>
  109.     <?php
  110.     $sum_entries = $sum_size = 0;
  111.     $odd_row = true;
  112.     foreach ($tables as $sts_data) {
  113.         if (strtoupper($sts_data['ENGINE']) == 'MRG_MYISAM'
  114.          || strtoupper($sts_data['ENGINE']) == 'FEDERATED') {
  115.             $merged_size = true;
  116.         } else {
  117.             $merged_size = false;
  118.         }
  119.         $sum_entries += $sts_data['TABLE_ROWS'];
  120.         ?>
  121. <tr class="<?php echo $odd_row ? 'odd' : 'even'; ?>">
  122.     <th>
  123.         <?php echo htmlspecialchars($sts_data['TABLE_NAME']); ?>
  124.     </th>
  125.         <?php
  126.  
  127.         if (isset($sts_data['TABLE_ROWS'])) {
  128.             ?>
  129.     <td align="right">
  130.             <?php
  131.             if ($merged_size) {
  132.                 echo '<i>' . number_format($sts_data['TABLE_ROWS'], 0, $number_decimal_separator, $number_thousands_separator) . '</i>' . "\n";
  133.             } else {
  134.                 echo number_format($sts_data['TABLE_ROWS'], 0, $number_decimal_separator, $number_thousands_separator) . "\n";
  135.             }
  136.             ?>
  137.     </td>
  138.     <td nowrap="nowrap">
  139.         <?php echo $sts_data['ENGINE']; ?>
  140.     </td>
  141.             <?php
  142.             if ($cfg['ShowStats']) {
  143.                 $tblsize =  $sts_data['Data_length'] + $sts_data['Index_length'];
  144.                 $sum_size += $tblsize;
  145.                 list($formated_size, $unit) =  PMA_formatByteDown($tblsize, 3, 1);
  146.                 ?>
  147.     <td align="right" nowrap="nowrap">
  148.         <?php echo $formated_size . ' ' . $unit; ?>
  149.     </td>
  150.                 <?php
  151.             } // end if
  152.         } else {
  153.             ?>
  154.     <td colspan="3" align="center">
  155.         <?php echo $strInUse; ?>
  156.     </td>
  157.             <?php
  158.         }
  159.         ?>
  160.     <td>
  161.         <?php
  162.         if (! empty($sts_data['Comment'])) {
  163.             echo $sts_data['Comment'];
  164.             $needs_break = '<br />';
  165.         } else {
  166.             $needs_break = '';
  167.         }
  168.  
  169.         if (! empty($sts_data['Create_time'])
  170.          || ! empty($sts_data['Update_time'])
  171.          || ! empty($sts_data['Check_time'])) {
  172.             echo $needs_break;
  173.             ?>
  174.             <table width="100%">
  175.             <?php
  176.  
  177.             if (! empty($sts_data['Create_time'])) {
  178.                 ?>
  179.                 <tr>
  180.                     <td align="right"><?php echo $strStatCreateTime . ': '; ?></td>
  181.                     <td align="right"><?php echo PMA_localisedDate(strtotime($sts_data['Create_time'])); ?></td>
  182.                 </tr>
  183.                 <?php
  184.             }
  185.  
  186.             if (! empty($sts_data['Update_time'])) {
  187.                 ?>
  188.                 <tr>
  189.                     <td align="right"><?php echo $strStatUpdateTime . ': '; ?></td>
  190.                     <td align="right"><?php echo PMA_localisedDate(strtotime($sts_data['Update_time'])); ?></td>
  191.                 </tr>
  192.                 <?php
  193.             }
  194.  
  195.             if (! empty($sts_data['Check_time'])) {
  196.                 ?>
  197.                 <tr>
  198.                     <td align="right"><?php echo $strStatCheckTime . ': '; ?></td>
  199.                     <td align="right"><?php echo PMA_localisedDate(strtotime($sts_data['Check_time'])); ?></td>
  200.                 </tr>
  201.                 <?php
  202.             }
  203.             ?>
  204.             </table>
  205.             <?php
  206.         }
  207.         ?>
  208.     </td>
  209. </tr>
  210.         <?php
  211.     }
  212.     ?>
  213. <tr>
  214.     <th align="center">
  215.         <?php echo sprintf($strTables, number_format($num_tables, 0, $number_decimal_separator, $number_thousands_separator)); ?>
  216.     </th>
  217.     <th align="right" nowrap="nowrap">
  218.         <?php echo number_format($sum_entries, 0, $number_decimal_separator, $number_thousands_separator); ?>
  219.     </th>
  220.     <th align="center">
  221.         --
  222.     </th>
  223.     <?php
  224.     if ($cfg['ShowStats']) {
  225.         list($sum_formated, $unit) = PMA_formatByteDown($sum_size, 3, 1);
  226.         ?>
  227.     <th align="right" nowrap="nowrap">
  228.         <?php echo $sum_formated . ' ' . $unit; ?>
  229.     </th>
  230.         <?php
  231.     }
  232.     ?>
  233.     <th> </th>
  234. </tr>
  235. </tbody>
  236. </table>
  237.     <?php
  238. }
  239.  
  240. /**
  241.  * Displays the footer
  242.  */
  243. ?>
  244.  
  245. <script type="text/javascript" language="javascript">
  246. //<![CDATA[
  247. function printPage()
  248. {
  249.     // Do print the page
  250.     if (typeof(window.print) != 'undefined') {
  251.         window.print();
  252.     }
  253. }
  254. //]]>
  255. </script>
  256. <br /><br />
  257.  
  258. <input type="button" class="print_ignore"
  259.     id="print" value="<?php echo $strPrint; ?>" onclick="printPage()" />
  260.  
  261. <?php
  262. require_once './libraries/footer.inc.php';
  263. ?>
  264.